At present, the USSD service under the OCS provides for users a series of single services such as query balance, recharge, and account transfer, etc. The specific implementation process is: after a user inputs a USSD instruction, an HLR (Home Location Register) sends the instruction to a USSDC (Unstructured Supplementary Service Data Center), the USSDC converts the instruction into an MML (Man-Machine Language) command and sends it to the OCS, the OCS returns the result in the form of the MML command to the USSDC, and the USSDC converts the MML command into a USSD string and sends the converted USSD string to the user. A user only has one choice if he wants to use a certain function, which is remembering the USSD access code providing the function and the instruction format. A signaling flowchart of a user inputting a USSD instruction to directly enter a function flow is shown in FIG. 1, which includes the following procedures.
Step 110, when a user dials a USSD access code, an MSC (Mobile Switch Center)/HLR (Home Location Register) sends, according to the triggering of USSD service information, a PUSSDR (ProcessUnstructuredSS_Request, i.e. Process Unstructured Supplementary Service Data Request) message to the USSDC to trigger a USSD intelligence service.
Step 120, after receiving the PUSSDR message, the USSDC processes USSD character strings to obtain parameters such as an access code and so on.
Step 130, the USSDC sends an MML command to the OCS according to the function flow (such as query balance and recharge) corresponding to the access code.
Step 140, after receiving the MML command, the OCS performs internal processing, and returns processing results to the USSDC.
Step 150, the USSDC forms the processing results into corresponding USSD character strings, and sends the results to the MSC/HLR through PUSSDR_ACK (response to ProcessUnstructuredSS_Request), the MSC/HLR forwards the results to the user, and the procedures end.
In the existing method, the function path of the system is unique, viz. the corresponding function flow can be entered only through the USSD access code input by the user (for example, *780# corresponds to query balance). The method requires the user to remember the USSD access code, and moreover, if the user parameters are incomplete when entering the function flow, the traditional USSD service will report an error and end the flow. For the user, the existing method is not flexible and convenient enough.